Let $f: M \to N$ be a $\mathbb{K}$-linear map, where $\mathbb{K}$ is an arbitrary field. The dual of $f$ is the $\mathbb{K}$-linear map $f^{\perp} : N^\perp \to M^\perp$ defined by $\psi \mapsto \psi \circ f$ for all $\psi\in N^\perp$, where $M^\perp$ and $N^\perp$ are the dual spaces of $M$ and $N$ respectively. I want to understand how the map $(f^\perp)^\perp : (M^\perp)^\perp \to (N^\perp)^\perp$ defined by $\varphi \mapsto \varphi \circ f^\perp$ for all $\varphi \in (M^\perp)^\perp$ is equivalent to the map $f : M \to N$.
Since $(M^\perp)^\perp \cong M$ and $(N^\perp)^\perp \cong N$, it is clear that the function $(f^{\perp})^{\perp}$ can be interpreted as a function $g : M \to N$, however it is not immediately apparent to me as to why $g = f$. I'm sure the evaluation map (isomorphism) will come into play, sending $\text{ev}_m \mapsto m$ from $(M^\perp)^\perp \to M$, and $\text{ev}_{f(m)} \mapsto f(m)$ from $(N^\perp)^\perp \to N$ (or something rather), giving rise to a commutative diagram; however I can't seem to reconcile the evaluation map with the element $\varphi \circ f^{\perp} \in (N^\perp)^\perp$.