Bug in :db/ensure's boolean attr handling?

Also, when using a composite tuple, the value is nil instead of false:

user=> 
(let [db (d/with-db system/conn)
        schema [#:db{:ident :foo,
                     :valueType :db.type/boolean,
                     :cardinality :db.cardinality/one}
                #:db{:ident :bar,
                     :valueType :db.type/boolean,
                     :cardinality :db.cardinality/one}]
        db (:db-after (d/with db {:tx-data schema}))
        more-schema [{:db/ident :some-composite-key
                      :db/cardinality :db.cardinality/one
                      :db/valueType :db.type/tuple
                      :db/tupleAttrs [:foo :bar]}]
        db (:db-after (d/with db {:tx-data more-schema}))]
    (u/pprint (:tx-data (d/with db {:tx-data [{:foo true
                                               :bar false}]}))))
[#datom[13194139533486 50 #inst "2019-07-10T21:34:53.300-00:00" 13194139533486 true]
 #datom[20433324090589741 130 true 13194139533486 true]
 #datom[20433324090589741 131 false 13194139533486 true]
 #datom[20433324090589741 132 [true nil] 13194139533486 true]]