void c_cg::write_type(Type ty) { if (ty.IsStruct()) { get_pipe()("struct ")(unit::get_struct(ty)->name); } else if (ty.IsFn()) { Fn* lambda = unit::get_fn(ty); write_type(deep_ret_type(lambda)); } else { get_pipe()(type_name(ty)); } }