মানাডের দ্বারা কেন ও কীভাবে প্রোগ্রাম করতে হবে তা একটি ছোট উদাহরণে প্রদত্ত স্যুডোকোডের সাহায্যে বোঝানো যায়। অনির্দিষ্ট মান ও ক্রিয়াপ্রণালী(অপারেশনস) হচ্ছে সফটওয়ার এর একটি বিশেষ সমস্যা, যেটাকে সৌষ্ঠবের সাথে মোকাবিলা করার জন্য প্রস্তত থাকলেই কেবলমাত্র সেই সফটওয়ার শক্তিশালী হিসেবে গৃহীত হবে।

এই উদ্দেশ্যে প্রথম করণীয় হচ্ছে একটি অপশনাল টাইপ তৈরি করা যা একটি নির্দিষ্ট গাণিতিক চলরাশিকে, কোন টাইপ codice_6 (codice_6 যে কোন টাইপ এর হতে পারে) এ মান বহন করছে কিনা তা চিন্থিত করবে। এই নতুন টাইপটিকে বলা হবে codice_8 এবং এই টাইপটির মান হতে পারে হয় টাইপ codice_6 অথবা শুন্যমান codice_10। ধরি, codice_11 হল টাইপ codice_6 এর একটি মান codice_13 যেটা পূর্বেই সংজ্ঞায়িত কিন্তু কেবলমাত্র codice_1 এর প্রসঙ্গে ব্যবহৃত হবে। এটি করার কারণ হল, চলরাশিটি কোন সংজ্ঞায়িত মান বহন করছে, কি করছে না, এই দুই ক্ষেত্রের মাঝে গোলমাল দুর করার জন্য।
data Maybe T = Just T or Nothing
codice_8 কে "মোড়ক" টাইপ হিসেবে বিবেচনা করা যেতে পারে, যেটি টাইপ codice_6 কে মুড়িয়ে বিল্ট-ইন এক্সেপশন হ্যান্ডলিং সমৃদ্ধ নতুন টাইপ এ পরিণত করে, যদিও সেটি এক্সেপশন এর কারণ সম্পর্কে কোন তথ্য বহন করে না।

নিম্নোক্ত কোডে, codice_3 উপসর্গ যুক্ত চলরাশিগুলোর টাইপcodice_8 অথবা কেবলমাত্র টাইপ codice_6। উদাহরণস্বরূপ, যদি একটি চলরাশি codice_20 একটি মান বহন করে, তখন এটাকে codice_21 হিসেবে চিন্থিত করা হবে, যেখানে চলরাশি codice_22 এর টাইপ হচ্ছে codice_6। codice_24 হচ্ছে একটি অজ্ঞাতনামা (অ্যানোনিমাস) ফাংশন যার প্যারামিটার হচ্ছে codice_22 যার টাইপ অনুমিত (ইনফার্ড), এবং codice_26 হচ্ছে ফাংশন সংযুতি (ফাংশন কম্পোজিশন) কার্যকারক (অপারেটর)।

আরেকটু উন্নতিসাধন করা যায়, যদি একটি ফাংশন, codice_1 টাইপের সাহায্যে চিন্থিত (চেকড) এক্সেপশনগুলো নিয়ন্ত্রণ করতে পারে, শর্ট-সার্কিট করতে পারে এবং যদি কোন ধাপ ব্যর্থ হয় তাহলে codice_10 ফেরত দিতে পারে, কিন্তু যখন একটি গণনা সফল হয় তখন সঠিক মান ফেরত দিতে পারে।

ঠিক এই কাজ করার জন্য একটি যোগাত্মক ফাংশন হল codice_29। দুটি codice_1 মান codice_20 ও codice_32 এর যোগকে নিম্নোক্তভাবে সংজ্ঞায়িত করা যায়:
codice_1 এর মানগুলোকে এক একটি করে বোঝা কষ্টসাপেক্ষ, এবং যতই অধিক পরিমাণে ফাংশন সংজ্ঞায়িত হতে থাকবে ততই এটি আরও কষ্টসাপেক্ষ হতে থাকবে। এথেকে পরিত্রানের একটি উপায় হচ্ছে ধাপগুলোকে একত্রে শ্রেণীবদ্ধ করা। একটি নিষ্পাদন (ইনফিক্স) চালক (অপারেটর), যেমন codice_34, এর সাহায্যে সহজভাবে এক ধাপ হতে পরের ধাপে ফলাফলগুলি (যেটি অনির্দিষ্ট হবার সম্ভাবনা আছে) প্রেরণ প্রদর্শিত করা যেতে পারে। যদিও টেকনিক্যালি এক একটি রেজাল্ট আরেকটি "ফাংশনে" প্রেরণ করা হচ্ছে, তারপরও চালক (অপারেটর) প্যারামিটার হিসেবে আরেকটি ফাংশনকে গ্রহণ করবে। যেহেতু codice_29 ইতিমধ্যে তার উত্পাদ (আউটপুট) এর টাইপ কে নির্দিষ্টায়িত করছে, সেহেতু এমন সব ফাংশন যাদের আউটপুট তাদের ইনপুট অপেক্ষা ভিন্ন, সেই সকল ফাংশনকে গ্রহণ করে অপারেটরকে নমনীয় রাখলে তা অপারেটরের জন্য সুবিধাজনকই হবে:
যেহেতু codice_36 ব্যবহারযোগ্য, codice_29 কে আরও সংক্ষিপ্ত ও সংহতভাবে পুনরায় সংজ্ঞায়িত করা যেতে পারে:
এই সংজ্ঞাটি আরও সংক্ষিপ্ত, তবে আরও বিশ্লেষণের মাধ্যমে অধিকতর গুরুত্বপূর্ণ একটি জিনিস সম্বন্ধে ধারণা পাওয়া যেতে পারে। প্রথমত, অধীন মানগুলিকে আরও codice_1 মান হিসেবে সংজ্ঞায়িত করার জন্য codice_29 এর কেবলমাত্র codice_40 ব্যবহার করা দরকার। codice_40 তার অধীন মানগুলোকে মুড়িয়ে (র‍্যাপিং করে) তাদের ওপর "ক্রিয়াসাধন" করে থাকে, সেটি সম্পর্কে জোর দিয়ে বলার জন্য, আমরা তাকে codice_42 নামক একটি ফাংশন হিসেবে পুনঃসংজ্ঞায়িত করি:
এখানে লক্ষণীয় বিষয় যে, codice_29 ফাংশনের সরলীকরণের জন্য এই দুটি ফাংশন codice_36 এবং codice_42 তৈরি করা হলেও তারা codice_29 এর কোন বৈশিষ্টের ওপর নির্ভর করে না, কেবলমমাত্র codice_1 টাইপের ওপরে নির্ভরশীল। এই ফাংশনগুলি codice_1 এর অধীন মানগুলির টাইপ নির্বিশেষে যেকোন মান ও ফাংশনের ওপর প্রযোজ্য হতে পারে। উদাহরণস্বরূপ, এখানে (ক্লীনের) হতে একটি সংক্ষিপ্ত চালক দেখানো হয়েছে যা অনির্দিষ্ট মানগুলির স্বয়ংক্রিয়করণের জন্য একই ফাংশনগুলি ব্যবহার করে:
trinot : Maybe Boolean → Maybe Boolean
trinot(mp) = mp »= λp -> (eta ∘ not) p

বলা যায়, codice_1 টাইপ, codice_36 এবং codice_42 এর সাথে যুক্ত হয়ে একটি মানাড গঠন করে। যদিও অন্য অনেক মানাড ভিন্ন ভিন্ন যুক্তিভিত্তিক প্রক্রিয়াকেে একত্র করে, এবং হয়ত অতিরিক্ত কিছু বৈশিষ্টকে ধারণ করে, তাদের সকলে এই উদাহরণের মূলনীতি অনুসরণ করে এই তিনটি উপাদানের সাহায্যে (প্রত্যক্ষ অথবা পরোক্ষভাবে) গঠিত হয়।

ফাঙ্কটর থেকে উৎপাদন
সংগ্রহ (কালেকশন)
একটি উদাহরণ: Maybe
সাধারণ ইন্টারফেস