added let implementation

resulting in addition of finer grained handling of bindings & environments