Use the parsing-based parse_expression_unit instead of unit_from_expression (still fails for function calls)
Make the unit information for functions accessible by storing a _arg_units and _return_unit attribute in the function object.