Aha, I think I found a solution. Now need to redesign the whole language around it.