good point - I'll go through and change to duck typing where possible.  There might be a few cases that depend on the mathematical operations, where I think isinstance may make more sense.  But I *think* duck typing works everywhere for this PR.