Semantics of Typed Lambda-Calculus with Constructors (Logical Methods in Computer Science, 2011)