Added State.{nonNegativeInt,double} implementations + property tests