# Streamlined Token Standards Proposal

**URL:** <https://forum.flow.com/t/streamlined-token-standards-proposal/3075>\
**Category:** 🏄🏻‍♀️ Cadence\
**Tags:** cadence\
**Created:** [May 4, 2022, 9:22pm UTC](https://forum.flow.com/t/streamlined-token-standards-proposal/3075 "2022-05-04T21:22:09Z")\
**Posts on this page:** 1\
**Showing post:** 26

<div class="post-metadata">

**Author:** ![bastian](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.flow.com/bastian/32/183_2.png) [@bastian](https://forum.flow.com/u/bastian)\
**Post date:** [June 3, 2022, 10:28pm UTC](https://forum.flow.com/t/streamlined-token-standards-proposal/3075/26 "2022-06-03T22:28:45Z")

</div>

With the upcoming release of Secure Cadence, and the [changes to taking references to optionals](http://forum.flow.com/t/breaking-changes-coming-with-secure-cadence-release/3052), the collection borrow function should probably be updated to return an optional reference now, instead of aborting execution when the NFT with the given ID does not exist:

```auto
pub fun borrowNFT(id: UInt64): &NFT?

```

This will also allow users to quickly check if an NFT with a certain ID exists in the collection.

Likewise, maybe also the withdraw function should be changed to return an optional:

```auto
pub fun withdraw(withdrawID: UInt64): @NFT?

```

---

_[View the full topic](https://forum.flow.com/t/streamlined-token-standards-proposal/3075)._
