Fixed this binding potentially leaking.
Rewrote environment to use records
Updated amulet