up #460:
 - deal with some of the compilation issues
 - sub_functionspace can now provide the type and ptrtype