I just pushed fixes to make the FSBV tests pass. One fix was to the recursive call to libffi-type-pointer that took the slot-type directly, already unparsed, and tried to unparse it. I fixed that by parsing it again. In the course of debugging this, I found this comment in defclass foreign-struct-slot ;; FIXME: the type should probably be parsed? I briefly investigated doing this, and decided to take the expedient route for now.
However, this comment got me to thinking that there are a lot of (unnecessary) round trips through parse-type/unparse-type. It seems to me that they could be eliminated or reduced. Perhaps as a design philosophy, we should only have parsed types internally, and then we won't need unparse-type at all? Changing this would be a lot of work, I realize.
Liam