It would be nice to be able to add additional type parameters when using @qstruct_fp. This allows one to express constraints on the relationships between the types. For example:
@qstruct_fp Map{T}(lambda::Lambda{Bool,T}, list::List{T})
Looking at the expansion, it seems that the {T} supersedes the T1 and T2 that would normally be added. I'd like to get Map{T,A<:Lambda{Bool,T},B<:List{T}}.