Removed use of EntitySet - it's not working.  Using type aliases and implicit converstions instead as it's far easier to follow & understand.  Also sorted out Entity and & Entity factory classes/traits for common use.