don't extend function, creates implicit conversions.