splitting inlined return locals to help type assigning