Dropped visitor prefix from the SupervisorResult fields.
Removed a lot of unnecessary constraints for functions in Supervisor.
Simplified Supervisor type signatures by using ConstraintKinds