#2 added AgainstNullArgumentPropertyIfNullable
refactored
tidied up specifications