about push_msat, yes, better not to use it, if you dont want just give you money as a gift to some node.
You can use that in lieu of dual funded channels for now.
You want a scenario whereby Alice and Bob both contribute to craft a channel and Alice contributes 0.6BTC while Bob contributes 0.4 BTC, so when the channel is created they each have their respective balances.
That isn't currently possible, because only Alice (or Bob) can open a channel and they'll get the full amount of the channel on their side because they're the funder.
According to
LN BOLT 2 the funder of the channel can, in the
open_channel message send a
push_msat value to the counterparty (as long a stage amount is less than or equal to
funding_satoshis * 1000.)
So Alice here can set the
push_msat value to be the equivalent of 0.4BTC, which is sent to Bob.
So when the channel gets created Alice will have her 0.6BTC, while Bob will have his 0.4BTC, and the channel will be bidirectional by default without the need of an subsequent commitment transaction.