if inputs are heterogeneous, don't assume everything's a number, fixes #5