Using generalised functions
Added skeleton for colour semantics; basic learning (adding details to a basic data structure)