Ah, sorry - I meant to fix that. I'll remove the comment.

I'm not sure I understand how the 2 lerp's conflict. Isn't PVector.lerp a member of PVector vs. PVector.prototype.lerp, which is a member of PVector objects? The first called by PVector.lerp(v1,v2,amt), the second called by v1.lerp(v2, amt). Other functions like dist, dot, and cross are defined similarly.