Removed unused methods from Statement operations interfaces, and reintroduced Guard, this time into Kernel as a layer that only gets added if there's a Guard