A semantics for lambda-early: a calculus with overloading and early binding