Extended make_type to handle non-builtin types