function expressions vs declarations