I would like to propose to include a Hashed Timelock Contract (HTLC) for ERC20 tokens and one for ERC721 tokens in OpenZeppelin, to support atomic swaps between these types of tokens. Sample implementations can be found here https://github.com/kaleido-io/token-sample-htlc (which is forked and enhanced from Chris Hatch).
this contract is for consumers or organizations
who want to trade tokens but do not want to use a 3rd party centralized component that they must trust
this implementation uses the Hashed Timelock mechanism to guarantee the trading parties never lose their tokens regardless of how the trading parties behave (except for their own fault)
that provides security
unlike other bridging techniques that rely on a centralized application to coordinate reciprocating actions between the token contracts
this solution works in a peer-to-peer fashion without reliance on a trusted 3rd party