A child specification has a type, which tells whether the child is a supervisor or a worker. What is this actually used for? What's stopping me from putting 'worker' in the child spec, but actually calling supervisor:start_link? Or vice-versa?