optimisation - no free vars means that variable can be considered non-polymorphic