Ich weiß ehrlich gesagt nicht, ob das für Anfänger wirklich so gut ist, den deklarativen Weg zu gehen und gewissen Fehler nicht zu machen.
Es ist vielleicht das Beste, genau diese Fehler mindestens einmal zu machen.
Die Programmierintuition zu haben, wann man darauf vertraut, daß ein Objekt oder eine Variable schon so stimmen wird, und wann man es lieber prüft, und wann man eine Übereinstimmung erzwingen möchte, die kann man nicht aus der Theorie erlernen, dazu braucht es ein paar Jahre Fehlererfahrung. Ähm, vielleicht, meine ich =)