Casting in Apex seems like Black Magic to me. I don\'t get when should we make an explicit cast, and when it can be implicit. Like:
Recipe.apxc
public