Fix for #96, @possible handles nulls for arrays and objects.

Фикс для #96.

Еще немного причесал, слишком много было запихано в строки, можно не весь expression помещать в `mixin`.

Также пофиксил аналогичный case для вложенных структур.

P.S. Хорошо бы еще немного отрефакторить эту функцию, много повторяющихся кусков.