Redesign lambdas and projections handling

Fixes #5: validate lambda expression upon construction