Canvas type?

I see there’re 4 types:

greyed, reference, switch and time loops

can anyone tell me their differences?
All the parameters can be converted to other types:
Greyed: not editable
Reference: It is just a pointer to other canvas parameter not so useful
Switch: Allows to change between one canvas and other quickly
Time Loop: See the Time Loop convert in the link