WIP: enforcing freeness constraints